In Peer-To-Peer Networks it is often common to associate a QoS level with a device or a user of device. This works well where control is implemented in a distributed manner which is often the case in peer-to-peer systems. The QoS level may be used to determine such things a guaranteed amount of bandwidth, latency and/or loss rate or level of priorities in the scheduling process, e.g., when deterministic rate guarantee is not possible.
A problem to such an approach when two devices seeking to communicate with one another are entitled to different levels of service. Consider for example the case of a first user entitled to a high QoS level, e.g., a Gold service level user, seeking to communicate with another user entitled to a lower QoS level of service, e.g., a Bronze level user.
Allowing the QoS level of the transmitting device to control transmissions would result in transmission from the Gold level user being communicated to the Bronze level user in accordance with the high QoS level to which the Gold user is entitled but with the communication from the Bronze level user to the Gold user being subject to the QoS level to which the Bronze user is entitled. While this might seem like a reasonable approach with each user being entitled to the service level to which they subscribed, applying the lower QoS level associated with the lower (Bronze) level user to the communications to the Gold user may result in the Gold level user receiving communications at a much lower QoS level than the Gold user is accustomed to receiving and/or is seeking to obtain. When a Gold user is running an interactive application whose performance depends on the response from the other user, the performance the Gold user sees is affected by the QoS level of the other user in the communication. Given the nature of P2P networks, users with different QoS levels may encounter each other and may want to communicate with one another.
To maintain a customer's satisfaction with a QoS service level to which they subscribe, it is important that the customer receive an experience commensurate with the QoS level to which they subscribe even when communicating with users who subscribe to lower level QoS subscriber agreements. However, for the QoS mechanism to be effective, as well as from a business perspective, it is also important to maintain a distinction between the QoS levels provided.
In view of the above discussion, it should be appreciated that there is a need for improved methods and apparatus for implementing QoS levels in a peer to peer system where users may subscribe to subscriber service agreements corresponding to different QoS levels.